home *** CD-ROM | disk | FTP | other *** search
/ Java for 3D & VRML Worlds / Java for 3d and VRML Worlds.iso / examples / chap06 / LionMovie.wrl < prev    next >
Text File  |  1996-10-15  |  2KB  |  77 lines

  1. #VRML V2.0 utf8
  2.  
  3. #
  4. # lion is moving toward you.
  5. #
  6.  
  7. DEF LION_TRANS Transform{
  8.         children[
  9.         Billboard{
  10.                 axisOfRotation 0 0 0
  11.                 children[
  12.                 Shape{
  13.                         geometry IndexedFaceSet{
  14.                                 coord Coordinate{
  15.                                         point[  0 0 0,
  16.                                                 1 0 0,
  17.                                                 1 1 0,
  18.                                                 0 1 0]
  19.                                 }
  20.                                 coordIndex[     0, 1, 2, 3]
  21.                         }
  22.                         appearance Appearance{
  23.                                 texture DEF LION_MOVIE MovieTexture{
  24.                                         loop TRUE
  25.                                         url "lion_movie.gif"
  26.                                         startTime 0
  27.                                         stopTime 1      # initially not playing
  28.                                 }
  29.                         }
  30.                 },
  31.                 DEF LION_TOUCH TouchSensor{}
  32.                 ]
  33.         }
  34.         ]
  35. }
  36.  
  37. DEF LION_PROX ProximitySensor{
  38.         size 200 200 200                # big enough
  39. }
  40.  
  41. DEF LION_TIME TimeSensor{
  42.         loop TRUE
  43.         cycleInterval 0.2
  44.         startTime 0
  45.         stopTime 1                      # initially deactivated
  46. }
  47.  
  48. DEF LION_SCRIPT Script{
  49.         url "LionMovie.class"
  50.  
  51.         # when you click the lion...
  52.         eventIn SFTime touched
  53.         eventOut SFTime startLion
  54.         eventOut SFTime stopLion
  55.  
  56.         # when the lion is moving toward you...
  57.         eventIn SFTime interval
  58.         eventOut SFVec3f setLionPosition
  59.  
  60.         # watch your current position.
  61.         eventIn SFVec3f getUserPosition
  62. }
  63.  
  64. # when you click the lion...
  65. ROUTE LION_TOUCH.touchTime TO LION_SCRIPT.touched
  66. ROUTE LION_SCRIPT.startLion TO LION_MOVIE.startTime
  67. ROUTE LION_SCRIPT.startLion TO LION_TIME.startTime
  68. ROUTE LION_SCRIPT.stopLion TO LION_MOVIE.stopTime
  69. ROUTE LION_SCRIPT.stopLion TO LION_TIME.stopTime
  70.  
  71. # when the lion is moving toward you...
  72. ROUTE LION_TIME.cycleTime TO LION_SCRIPT.interval
  73. ROUTE LION_SCRIPT.setLionPosition TO LION_TRANS.set_translation
  74.  
  75. # watch your current position
  76. ROUTE LION_PROX.position_changed TO LION_SCRIPT.getUserPosition
  77.